ПРЕДСКАЗАНИЕ НА ОСНОВЕ СОДЕРЖИМОГО ИЗОБРАЖЕНИЯ И КОНТРОЛЛЕР КЭША ИЗОБРАЖЕНИЙ
PREDICTION BASED ON IMAGE CONTENT AND IMAGE CACHE CONTROLLER

ОБЛАСТЬ ИЗОБРЕТЕНИЯ
Данное изобретение относится к контроллеру кэша и способу кэширования для использования в системе, содержащей клиент изображений, сервер изображений и кэш. Данное изобретение дополнительно относится к клиенту изображений и серверу изображений, содержащему контроллер кэша.
В данной области техники устройство изображения может обеспечить возможность пользователю осуществлять навигацию по данным изображения в трех пространственных измерениях, таких как три пространственных измерения данных объемного изображения или те, что образованы посредством стека двухмерных изображений. Устройство изображения может, например, обеспечить возможность пользователю осуществлять навигацию по трехмерной реконструкции структуры тела посредством отображения поперечного сечения трехмерной реконструкции в зависимости от навигационных команд, выдаваемых пользователем.
УРОВЕНЬ ТЕХНИКИ ИЗОБРЕТЕНИЯ
Устройство изображения может в действительности не содержать всех данных изображения. Вместо этого устройство изображения может быть клиентом изображений, который только получает конкретные виды данных изображения от сервера изображений. Клиент изображений и сервер изображений могут вместе образовывать систему, которая обеспечивает возможность пользователю осуществлять навигацию по данным изображения посредством получения видов с сервера изображений в зависимости от навигационных запросов пользователя и отображения данных видов на клиенте изображений. Во время использования, полученные виды данных изображения составляют меньше данных, чем все данные изображения. Вследствие этого система может обеспечить возможность клиенту изображений осуществлять навигацию по данным изображения без необходимости для клиента изображений получать или локально хранить все данные изображения.
Однако вышеупомянутая система может испытывать задержку, т.е. запаздывание, между пользователем, запрашивающим вид, и клиентом изображений, являющимся способным отображать данный вид. В частности, задержка может возникать во время периода получения вида от сервера изображений.
Докторская диссертация, озаглавленная "OptiStore: An On-Demand Data Processing Middleware for Very Large Scale Interactive Visualization", Chong Zhang, представленная на рассмотрение Университету Иллинойс в Чикаго в 2007 году, раскрывает клиент, который запускает приложение визуализации и присоединен к репозиторию данных, содержащему набор данных трехмерных изображений. Клиент выполнен с возможностью минимизации задержки доступа к данным приложения визуализации к набору данных. Для этой цели главный контроллер принимает информацию просмотра и запросы данных от приложения визуализации. Информация просмотра относится, например, к положению точки просмотра. Главный контроллер затем проверяет, существуют ли в кэше запрашиваемые данные. Если существуют, кэш возвращает данные приложению визуализации; иначе, он пропускает информацию просмотра на блок предсказания. На основе истории информации просмотра блок предсказания создает запрос данных. И наконец, как только запрошенные данные поступают из репозитория данных, они сохраняются в кэше. Следовательно, главный контроллер уменьшает задержку приложения визуализации посредством предсказания будущих запросов данных исходя из истории информации просмотра.
Проблемой главного контроллера является то, что он недостаточно уменьшает задержку, которая возникает при навигации по данным изображения на клиенте изображений.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Было бы полезно иметь устройство или способ для дополнительного уменьшения задержки, которая возникает при навигации по данным изображения на клиенте изображений.
Для лучшего решения этой проблемы, первый аспект данного изобретения предоставляет контроллер кэша для использования в системе, содержащей клиент изображений и сервер изображений, причем клиент изображений обеспечивает возможность пользователю осуществлять навигацию по данным изображения, имеющим по меньшей мере три пространственных измерения, посредством отображения видов данных изображения, которые получены от сервера изображения в зависимости от навигационных запросов пользователя, и контроллер кэша содержит процессор, выполненный с возможностью получения данных содержимого, указывающих содержимое, показанное на текущем виде клиента изображений, причем текущий вид представляет первую точку просмотра в трех пространственных измерениях данных изображений, процессор дополнительно выполнен с возможностью предсказания запроса вида клиента изображений в зависимости от данных содержимого, причем запрос вида соответствует виду, представляющему вторую точку просмотра в трех пространственных измерениях данных изображения, и средство связи для получения вида с сервера изображений в зависимости от запроса вида и для кэширования вида в кэше.
Контроллер кэша выше является частью системы клиента изображений/сервера изображений. Сервер изображений локально хранит данные изображения, которые имеют по меньшей мере три измерения, которые являются пространственными измерениями. Клиент изображений выполнен с возможностью отображения текущего вида данных изображения, т.е. визуализации или визуального представления части данных изображения, которая в текущий момент показывается пользователю. Текущий вид соответствует точке просмотра внутри трех пространственных измерений, которая показывает часть данных изображения изнутри или снаружи данных изображения. Клиент изображений обеспечивает возможность пользователю осуществлять интерактивную навигацию по данным изображения посредством выборки, т.е. извлечения, видов с сервера изображений, которые связаны с навигационными инструкциями, предоставленными пользователем. Пользователь может вследствие этого осуществлять навигацию по трем пространственным измерениям данных изображения. Кроме того, система содержит кэш, выполненный с возможностью кэширования вида, полученного с сервера изображений.
Контроллер кэша содержит процессор, который выполнен с возможностью предсказания запроса будущего вида клиента изображений. Поэтому процессор эффективно предсказывает будущее навигационное действие пользователя, так как будущий запрос вида является обычно прямым следствием и, таким образом, напрямую связан с будущим навигационным действием пользователя. Предсказание основано на данных, которые указывают на содержимое текущего вида, т.е. что-то содержащееся в текущем виде. Вид, который соответствует будущему запросу вида, соответствует другой точке просмотра, т.е. показывает другую часть данных изображения. Таким образом, будущий запрос вида отражает предсказание изменяемой пользователем точки просмотра. Контроллер кэша дополнительно содержит средство связи, которое получает вид с сервера изображений. Средство связи способно давать инструкцию кэшу кэшировать вид в своей кэш-памяти. Таким образом, когда клиент изображений действительно запрашивает вид, серверу изображений не нужно еще раз предоставлять вид. Вместо этого вид получается напрямую из кэша.
Вышеприведенные меры имеют эффект того, что содержимое текущего вида используется для предсказания запроса вида клиента изображений, и что вид, связанный с запросом вида, кэшируется в кэше для обеспечения возможности клиенту изображений позднее напрямую получать данный вид из кэша. Запрос вида предсказывается контроллером кэша в зависимости от содержимого текущего вида. Содержимое текущего вида обычно имеет относительно значительное влияние на то, как пользователь осуществляет навигацию дальше по данным изображения. Вследствие этого, контроллер кэша предсказывает, как пользователь осуществляет навигацию по данным изображения, основывая предсказание на данных содержимого, которые показательны для содержимого, которое пользователь просматривает в текущий момент. Это дает относительно точное предсказание. Относительно точное предсказание имеет эффект того, что относительно вероятно, что контроллер кэша имеет правильно предсказанный будущий запрос вида клиента изображений. Таким образом, контроллер кэша предлагает улучшенное предсказание запросов видов для получения относительно низкой задержки. Преимущественно, контроллер кэша предлагает опыт улучшенной навигации пользователю. Преимущественно, контроллер кэша может использовать данные содержимого, чтобы конкретно кэшировать виды, которые могут иметь особую релевантность для пользователя.
Данное изобретение частично основывается на установлении того, что число возможных навигационных запросов, которое может предоставлять пользователь, является пропорциональным размерности данных изображения, по которым пользователь осуществляет навигацию, так как размерность определяет степень свободы, которую пользователь имеет при осуществлении навигации. Следовательно, сложнее правильно предсказывать будущие навигационные запросы в случае, когда данные изображения имеют три пространственных измерения, чем когда данные изображения имеют только два пространственных измерения. Более того, сложнее правильно предсказывать будущие навигационные запросы в случае, когда данные изображения имеют три пространственных измерения, чем когда данные изображения имеют два пространственных измерения и одно временное измерение, т.е. данные изображения являются обычной последовательностью видеокадров. Предсказание будущего запроса вида внутри последовательности видеокадров может быть связано с временным отслеживанием объекта, за которым следит пользователь, что является известным и относительно простым. Однако выявлено, что содержимое текущего вида являются обычно показательным для того, как пользователь осуществляет навигацию по данным изображения, независимо от пространственной размерности данных изображения. Например, если текущий вид показывает позвонок, может быть относительно вероятным, что пользователь осуществляет навигацию к соседнему позвонку. Отсюда, содержимое текущего вида обеспечивает возможность точного предсказания будущих запросов видов.
Опционально, процессор конфигурирован для получения данных содержимого посредством выполнения анализа изображения текущего вида. Пользователь будет, часто неосознанно, анализировать текущий вид для определения того, как осуществлять навигацию дальше по данным изображения. Анализ изображения обеспечивает возможность контроллеру кэша анализировать содержимое текущего вида относительно схожим образом. Контроллер кэша, таким образом, основывает свое предсказание на относительно схожей информации, как используется пользователем при определении того, как осуществлять навигацию дальше. Предпочтительным образом, предсказание запроса вида улучшается, и в результате получается более низкая задержка.
Опционально, процессор конфигурирован для выполнения анализа изображения для получения объекта внутри текущего вида и предсказания запроса вида в зависимости от объекта. Текущий вид может содержать объект. В этом случае пользователь может использовать объект при определении того, как осуществлять навигацию дальше по данным изображения, например, посредством опознавания объекта и использования его в качестве опорной точки. Посредством использования анализа изображения, чтобы получить объект, и посредством предсказания запроса вида в зависимости от объекта, контроллер кэша основывает свое предсказание на относительно схожей информации, как используется пользователем для определения того, как осуществлять навигацию дальше. Предпочтительным образом, предсказание запроса вида улучшается, и в результате получается более низкая задержка.
Опционально, процессор конфигурирован для предсказания запроса вида посредством получения ориентации объекта внутри текущего вида, и предсказания запроса, ассоциированного с соседним видом, соседним с текущим видом вдоль ориентации объекта, для предсказания запроса вида.
Ориентация объекта может иметь особую релевантность для пользователя при определении того, как осуществлять навигацию дальше по данным изображения. В частности, пользователь может использовать ориентацию объекта для осуществления навигации к соседней части данных изображения. Получая ориентацию объекта из текущего вида, контроллер кэша основывает свое предсказание на относительно схожей информации, как используется пользователем для определения того, как осуществлять навигацию дальше. Более конкретно, ориентация используется для предсказания запроса вида, который соответствует соседней части данных изображения, и связанный вид кэшируется. Предпочтительным образом, предсказание запроса вида улучшается, и в результате получается более низкая задержка.
Опционально, процессор конфигурирован для получения метаданных, содержащих данные содержимого с сервера изображений. Контроллер кэша может получать данные содержимого относительно эффективным образом посредством получения метаданных с сервера изображений и получения данных содержимого из метаданных. Предпочтительным образом, текущий вид не требуется получать контроллером кэша. Преимущественно, анализ изображения текущего вида не нужен. Предпочтительным образом, метаданные обеспечивают возможность контроллеру кэша получать конкретные, например, вручную оптимизированные, данные содержимого, которые обеспечивают возможность улучшенного предсказания.
Опционально, процессор конфигурирован для получения метаданных, указывающих содержимое изображения данных изображения, с сервера изображений, причем содержимое изображения содержит содержимое, и процессор конфигурирован для получения данных содержимого из метаданных посредством получения данных о положении, указывающих положение первой точки просмотра в трех пространственных измерениях данных изображения, и выбора участка метаданных в зависимости от положения данных для получения, в качестве данных содержимого, участка метаданных, показательных для содержимого.
Контроллер кэша получает данные содержимого из метаданных, которые являются показательными для содержимого изображения данных изображения. Так как содержимое изображения содержит содержимое, процессор может получить данные содержимого посредством выбора конкретного участка метаданных, которые являются показательными для содержимого. Для выбора участка, процессор получает данные о положении, указывающие на положение первой точки просмотра в трех пространственных измерениях данных изображения. Первая точка просмотра показывает содержимое и, таким образом, относится к своему положению внутри данных изображения. Это обеспечивает возможность процессору определять, какой участок метаданных выбирать. Предпочтительным образом, метаданные не требуется адаптировать к изменению в текущем виде. Предпочтительным образом, контроллеру кэша не нужно получать весь текущий вид, но только его положение внутри данных изображения.
Опционально, процессор конфигурирован для получения данных истории пользователя, указывающей на предыдущее использование клиента изображений, и процессор выполнен с возможностью предсказания запроса вида в зависимости от данных содержимого и от данных истории пользователя.
Пользователь может, при просмотре текущего вида, осуществлять навигацию дальше по данным изображения схожим образом, как ранее делалось пользователем или другими пользователями. Посредством получения данных истории пользователя, указывающих на предыдущее использование клиента изображений, контроллер кэша может предсказать запрос вида в зависимости от содержимого текущего вида и от данных истории пользователя. Таким образом, контроллер кэша может основывать свое предсказание на том, как пользователь или другие пользователи ранее реагировали на содержимое, показанное в текущем виде. Предпочтительным образом, предсказание запроса вида улучшается, и в результате, получается более низкая задержка.
Клиент изображения может содержать предложенный контроллер кэша.
Сервер изображения может содержать предложенный контроллер кэша. Предпочтительным образом, контроллер кэша имеет доступ ко всем данным изображения, размещенным на сервере изображений.
Опционально, процессор конфигурирован для получения данных содержимого посредством выполнения анализа изображения данных изображения. Пользователю может быть относительно известно содержимое данных изображения или он может иметь ожидание содержимого данных изображения. Это может влиять на то, как пользователь осуществляет навигацию по данным изображения. Анализ изображения обеспечивает возможность контроллеру кэша анализировать содержимое данных изображения. Это обеспечивает возможность контроллеру кэша основывать свое предсказание на относительно схожей информации, как используется пользователем при определении того, как осуществлять навигацию дальше. Предпочтительным образом, предсказание запроса вида улучшается, и в результате получается более низкая задержка.
Опционально, сервер изображений используется с клиентом изображений, содержащим кэш, и средство связи выполнено с возможностью кэширования вида в кэше клиента изображений. Вследствие этого, кэш размещен в клиенте изображений, контроллер кэша размещен в сервере изображений, и средство связи контроллера кэша конфигурировано для кэширования вида в кэше клиента изображений. Предпочтительным образом, клиент изображений имеет относительно быстрый доступ к кэшу, в то время как контроллер кэша на сервере изображения имеет доступ ко всем данным изображения, размещенным на сервере изображений. Предпочтительным образом, кэш и контроллер кэша оба размещены в оптимальном расположении внутри системы.
Рабочая станция может содержать предложенный контроллер кэша.
Устройство получения изображения может содержать предложенный контроллер кэша.
Способ кэширования для использования в системе, содержащей клиент изображений и сервер изображений, причем клиент изображений обеспечивает возможность пользователю осуществлять навигацию по данным изображения, имеющим по меньшей мере три пространственных измерения, посредством отображения видов данных изображения, которые получены от сервера изображения в зависимости от навигационных запросов пользователя, причем вышеуказанный способ содержит получение данных содержимого, указывающих содержимое, показанное на текущем виде клиента изображений, причем текущий вид представляет первую точку просмотра в трех пространственных измерениях данных изображений, предсказание запроса вида клиента изображений в зависимости от данных содержимого, причем запрос вида соответствует виду, представляющему вторую точку просмотра в трех пространственных измерениях данных изображения, и получение вида с сервера изображений в зависимости от запроса вида и кэширование вида в кэше.
Компьютерный программный продукт может содержать инструкции для побуждения процессорной системы выполнять предложенный способ.
Опционально, клиент изображений содержит кэш. Имея кэш в клиенте изображений, клиент изображений имеет относительно быстрый доступ к кэшу. Предпочтительным образом, если клиент изображений присоединен к серверу изображений посредством соединения с относительно низкой пропускной способностью, кэш позволит клиенту изображений избежать или уменьшить задержку, ассоциированную с соединением с относительно низкой пропускной способностью.
Специалистам в данной области техники должно быть понятно, что два или более из вышеупомянутых вариантов осуществления, реализаций и/или аспектов изобретения могут быть скомбинированы любым считающимся полезным образом.
Специалистами в данной области техники, на основании настоящего описания, могут быть осуществлены модификации и вариации клиента изображений, сервера изображений или устройства получения изображений, рабочей станции, способа и/или компьютерного программного продукта, которые соответствуют описанным модификациям и вариациями контроллера кэша.
Специалисту в данной области техники должно быть понятно, что данный способ может быть применен к многомерным данным изображения, например, трехмерного (3-D) или четырехмерного (4-D) изображений, полученных различными методами получения, такими как, без ограничения указанным, стандартное формирование рентгеновских изображений, компьютерная томография (CT), магнитно-резонансная томография (MRI), ультразвуковое исследование (US), позитрон-эмиссионная томография (PET), однофотонная эмиссионная компьютерная томография (SPECT) и ядерная медицина (NM).
Данное изобретение определено в независимых пунктах формулы изобретения. Предпочтительные варианты осуществления определены в зависимых пунктах формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Эти и другие аспекты изобретения очевидны и разъяснены со ссылкой на варианты осуществления, описанные ниже. На чертежах:
на фиг. 1 показан клиент изображений, сервер изображений, кэш и контроллер кэша;
на фиг. 2 показан текущий вид клиента изображений, содержащий объект;
на фиг. 3 показан вид, соответствующий предсказанному запросу вида;
на фиг. 4 показан клиент изображений, содержащий кэш и контроллер кэша;
на фиг. 5 показан контроллер кэша, принимающий метаданные с сервера изображений;
на фиг. 6 показан клиент изображений, содержащий кэш и сервер изображений, содержащий контроллер кэша; и
на фиг. 7 показан способ кэширования вида.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Следует отметить, выше и в дальнейшем в этом документе, данные изображения относятся к представлению данных изображения. Изображение является визуальным представлением информации. Данные изображения обычно содержат элементы данных, такие как значения яркости или цветности участков изображения. В качестве альтернативы, элементами данных могут быть другие значения, которые могут быть интерпретированы и таким образом визуализированы как значения яркости и цветности. Участки изображений могут быть представлены пикселями. Понятно, что любое подходящее представление данных может быть использовано как известное, например, из областей техники обработки изображений и кодирования изображении.
Содержимое текущего вида или данные изображения относятся к объекту изобретения, который содержится внутри текущего вида или данным изображения, соответственно. Содержимое может относиться к относительно высокоуровневому объекту изобретения, такому как объект, изображенный в текущем виде. Аналогично, данное содержимое может относиться к семантической интерпретации объекта, например, какого типа объект содержится внутри текущего вида. Содержимое может также относиться к относительно низкоуровневому объекту изобретения внутри текущего вида, такому как значения яркости группы пикселей.
Данные содержимого являются представлением данных данного содержимого. Содержимое может быть представлено в форме текста, чисел или любого другого подходящего формата. В конкретном примере, если содержимое является объектом внутри данных изображения, данные содержимого могут содержать элемент данных, идентифицирующий объект и дополнительный элемент данных, идентифицирующий свое размещение внутри трех пространственных измерений данных изображения. В другом конкретном примере, если содержимое ассоциировано с областью, представляющей конкретный интерес, внутри текущего вида, данные содержимого могут идентифицировать свое размещение внутри текущего вида. Понятно, что существует много представлений данных, известных, например, из области техники анализа изображений.
На фиг. 1 показана система 180, содержащая клиент 100 изображений и сервер 140 изображений. Клиент 100 изображений соединен с контроллером 120 кэша для предоставления данных содержимого процессору 122 контроллера 120 кэша. Клиент 100 изображений дополнительно соединен с сервером 140 изображений через кэш 130 для получения видов с сервера 140 изображений и для запроса видов от сервера 140 изображений. Кэш 130 соединен с сервером 140 изображений через информационное соединение 160. Кэш 130 вследствие этого является частью соединения между клиентом 100 изображений и сервером 140 изображений, т.е. кэш 130 размещен между обоими. Контроллер 120 кэша дополнительно содержит средство 124 связи для получения вида с сервера 140 изображений в зависимости от запроса вида, который генерируется процессором 122. Аналогично клиенту 100 изображений, средство 124 связи также показано как подключаемое к серверу изображений через кэш 130.
Кэш 130, показанный на Фиг. 1, может быть прозрачным кэшем. Это означает, что клиент 100 изображений и сервер 140 изображений должны быть адаптированы или понимать присутствие кэша 130 между ними. Для этой цели, кэш 130 обычно переносит данные между клиентом 100 изображений и сервером 140 изображений. Однако кэш 130 может также кэшировать виды. Таким образом, если клиент 100 изображений предоставляет запрос вида, который ассоциирован с видом, хранящимся в кэше 130, кэш 130 напрямую предоставляет данный вид клиенту 100 изображений вместо переноса запроса вида на сервер 140 изображений. В связи с этим, кэш может кэшировать виды без необходимости адаптации клиента изображений 100 или сервера 140 изображений.
Во время работы пользователь может использовать клиент 100 изображений для осуществления навигации по данным изображения, которые размещены на сервере 140 изображений. Для этой цели клиент 100 изображений отображает виды данных изображения, которые получены с сервера 140 изображений в зависимости от навигационных запросов пользователя. Клиент 100 изображений может получать виды посредством генерирования запросов видов в зависимости от навигационных запросов. Запросы видов передаются через кэш 130 на сервер 140 изображений. В ответ на это сервер 140 изображений передает запрошенные виды через кэш 130 клиенту 100 изображений.
Клиент 100 изображений может показывать вид пользователю, т.е. текущий вид 200. Текущий вид 200 показывает часть содержимого данных изображения. В конкретном примере, показанном на Фиг. 2, данные изображения являются данными медицинского изображения, полученными посредством ангиографии, и их содержимое относится к расположению кровеносных сосудов внутри человека-пациента. Текущий вид 200 показывает двухмерный срез данных медицинского изображения, содержащий конкретный кровеносный сосуд 250. Вероятно, что пользователь решает осуществить навигацию дальше по изображению на основе содержимого данных изображения. Например, пользователь может решить, что на основе кровеносного сосуда 250, показанного в текущем виде 200, вид кровеносного сосуда дальше по потоку, т.е. вправо, представляет конкретный интерес. Отсюда, он может выдавать навигационные команды в будущем для осуществления навигации дальше по потоку вдоль кровеносного сосуда, например, посредством выдачи команд панорамирования или прокрутки.
Процессор 122 контроллера 120 кэша выполнен с возможностью получения данных содержимого, которые относятся к содержимому текущего вида 200. Для этой цели процессор 122 принимает текущий вид 200 и выполняет анализ изображения текущего вида 200. Анализ изображения может выполняться для обнаружения объекта, показанного в текущем виде, например, кровеносного сосуда 250, посредством алгоритма сегментации. Анализ изображения может также предоставлять ориентацию кровеносного сосуда, например, направление, вдоль которого идет кровеносный сосуд. Ориентация может быть, например, уравнением линии, которая по существу совпадает с кровеносным сосудом.
Процессор 122 может, на основе ориентации, предсказывать запрос вида, который связан с соседним видом 300, как показано на Фиг. 3. Здесь показан участок кровеносного сосуда 250, который размещен дальше по потоку, с участком, содержащим кровяной сгусток 350. Для предсказания запроса вида, процессор 122 может получать положение текущего вида внутри данных изображения, т.е. указывающим на то, как точка просмотра, представленная текущим видом, ориентирована по отношению к данным изображения. На основе текущего положения и ориентации объекта внутри текущего вида, соседнее размещение может быть определено. Процессор 122 может тогда сгенерировать запрос вида, который связан с соседним размещением. Получение текущего положения может, например, содержать получение данных о положении с сервера 140 изображений. Сервер 140 изображений может предоставлять текущее положение посредством предоставления данных о положении, указывающих на последний запрошенный вид. В конкретном примере, сервер 140 изображений может предоставлять виды, содержащие метаданные, указывающие на их положение. Отсюда, процессор 122 может получить текущее положение из текущего вида.
Средство 124 связи может передать запрос вида через кэш 130 на сервер 140 изображений. Как только сервер 140 изображений предоставляет вид, связанный с запросом вида, средство связи 124 может дать инструкцию кэшу кэшировать вид в свою кэш-память. В качестве альтернативы, кэш 130 сам по себе может быть выполнен с возможностью автоматического кэширования видов, которые предоставляются сервером 140 изображений, т.е. не требуя от средства 124 связи явно выдавать инструкцию кэшу 130. Следовательно, когда пользователь действительно предоставляет навигационную команду для осуществления навигации дальше по потоку вдоль кровеносного сосуда, клиент 100 изображений может получать вид напрямую из кэша 130.
На Фиг. 4 показана система 480, в которой контроллер 420 кэша и кэш 430 являются частью клиента 400 изображений, вместо того, чтобы быть внешними компонентами. Функционально, однако, система по существу идентична системе 180, показанной на Фиг. 1, с только той разницей, что связь между контроллером 420 кэша, кэшем 430 и клиентом 400 изображений теперь является внутренней связью внутри клиента 400 изображений. Клиент 400 изображений осуществляет связь с сервером 440 изображений через внешнее информационное соединение 460. К тому же в такой системе 400 кэш 430 может быть частью средства хранения, которое также используется для хранения других данных. Отсюда, системе может быть не нужно иметь отдельный кэш-компонент.
На Фиг. 5 показана система 580, в которой контроллер 520 кэша внутри клиента 500 изображений выполнен с возможностью получения метаданных, которые указывают на содержимое с сервера 540 изображений. Контроллер 520 кэша может получать метаданные через то же информационное соединение 560, как используется для передачи видов и запросов видов. Метаданные могут быть получены исходя из анализа данных для данных изображения и в результате могут идентифицировать объект, размещенный внутри данных изображения, и его ориентацию. Вследствие этого, контроллер 520 кэша может использовать, например, размещение или ориентацию объекта, например, кровеносного сосуда 250, для предсказания вида, который пользователь может запросить в будущем. Контроллер кэша может также использовать размещение обнаруженного ближнего объекта, например, кровяного сгустка 350, для предсказания вида. Кровяной сгусток не требуется наблюдать в текущем виде, так как его размещение может быть получено из метаданных. Метаданные могут также быть сгенерированы вручную. Например, специалист может вручную сгенерировать метаданные, которые связаны с особо релевантными участками данных изображения. Следовательно, контроллер 520 кэша может предсказывать запросы видов, которые связаны с релевантными участками данных изображения, и хранить предсказанные виды в кэше 530 клиента 500 изображений.
На Фиг. 6 показана система 680, в которой клиент 600 изображений содержит кэш 630, и сервер 640 изображений содержит контроллер 620 кэша. Это может обеспечить возможность контроллеру 620 кэша иметь доступ ко всем данным изображения на сервере 640 изображений. Аналогично контроллеру 120 кэша, показанному на Фиг. 1, контроллер 620 кэша выполнен с возможностью получения данных содержимого посредством выполнения анализа изображения. Однако вместо выполнения анализа изображения текущего вида 200, контроллер 620 кэша выполняет анализ изображения данных изображения. Например, анализ изображения может обеспечивать обнаружение объекта, показанного в данных изображения, например, позвонок, посредством алгоритма сегментации. Анализ изображения может также предоставить ориентацию позвонка. Ориентация может быть, например, уравнением плоскости внутри данных изображения, которая по существу совпадает с позвонком. Контроллер 620 кэша может использовать уравнение плоскости для определения размещения соседнего позвонка и предсказания запроса вида, который связан с соседним видом, который показывает соседний позвонок. Кроме того, контроллер 620 кэша может запрашивать вид внутренним образом в сервере 640 изображений и передавать вид в кэш 630, который размещен в клиенте изображений.
В общем, понятно, что данные содержимого могут иметь различные формы. Например, данные содержимого могут быть уравнением линии или плоскости объекта, который размещен внутри данных изображения. Содержимое данных может также относиться к конкретному объекту в общем, например, посредством указания присутствия или приблизительного размещения объекта внутри данных изображения. Данные содержимого могут также указывать множество объектов и логическое соединение между объектами. В конкретном примере, данные содержимого могут указывать размещение множества позвонков, показанных в данных изображения, и указывать относительное размещение позвонков в позвоночном столбе. Отсюда, если пользователь в данный момент просматривает позвонок, контроллер кэша может кэшировать вид соседнего позвонка. Аналогично, если пользователь просматривает легочный узелок, контроллер кэша может кэшировать виды лимфатических желез. В другом конкретном примере, онкологическое приложение может обеспечить пользователю просмотр текущего вида трехмерного скана грудной клетки, который включает в себя узелок, и сервер изображений может использовать анализ изображения для автоматического обнаружения всех узелков в трехмерном скане грудной клетки для обеспечения возможности контроллеру кэша запрашивать виды соседних узелков, или, в общем, поражений, или виды характерных ориентаций текущего поражения, например, вид, показывающий наибольший диаметр. В общем, данные содержимого могут также быть семантическими данными содержимого, полученными, например, из семантического анализа изображения или из автоматически или вручную сгенерированных метаданных. Отсюда, содержимое текущего вида связано со смыслом. Это обеспечивает возможность контроллеру кэша кэшировать виды данных изображения, которые имеют семантическое отношение, например, к содержимому текущего вида.
Запрос вида может быть предсказан различными путями. Например, процессор может использовать геометрическую экстраполяцию ориентации объекта, который частично показан в текущем виде, для определения, в каких соседних видах другие части объекта будут видимы. Также, процессор может использовать ранее полученную статистику, которая указывает, как содержимое данных изображения действует на поведение при навигации пользователя. Например, если текущий вид отображает позвонок, и известно из ранее полученной статистики, что пользователь склонен переключаться между аксиальным и фронтальным видом для этого позвонка, процессор может предсказать запросы видов фронтального и аксиального видов соседних позвонков. Аналогично, статистика может указывать, переключался ли ранее пользователь между аксиальным и фронтальным видом для этого позвонка, и, таким образом, запросы вида могут быть предсказаны соответственно. Статистика может быть получена из данных истории пользователя. Процессор может также использовать систему на основе правил, которая содержит правила, связывающие данные содержимого с запросом вида. Отсюда, процессор может предсказывать вид посредством сопоставления правила в списке правил с данными содержимого текущего вида и исполнения данного правила для получения запроса вида. Аналогично, процессор может использовать таблицу соответствия или схожую структуру данных для поиска предварительно заданного запроса вида, связанного с данными содержимого текущего вида.
Конечно, в дополнение к предсказанию запроса вида, контроллер кэша может также предсказывать дополнительные запросы видов, которые соответствуют дополнительным видам. Отсюда, запрос вида и его соответствующий вид могут каждый быть частью набора запросов видов и соответствующих видов. Например, при использовании клиента изображений для осуществления навигации по изображению мозга, контроллер кэша может предсказать набор запросов видов, которые соответствуют соседним видам, которые оптимизированы для средне-сагитального просмотра, гиппокампального просмотра и просмотра желудочков.
Публикация "Pre-fetching based on video analysis for interactive region-of-interest streaming of soccer sequences" Mavlankar et al., Международная конференция по обработке изображений (ICIP), 2009 год, стр. 3061-3064, описывает использование временного отслеживания футбольного мяча или игроков для предсказания движения области, представляющей интерес, и для предварительной выборки пикселей будущей области, представляющей интерес, соответственно. Однако понятно, что временное отслеживание недоступно внутри трех пространственных измерений данных изображения, и, таким образом, не может быть использовано для предсказания запросов видов, когда пользователь осуществляет навигацию по трем пространственным измерениям.
Вид может быть получен с сервера изображений различными путями. Средство связи может напрямую получать вид с сервера изображений и хранить вид в кэше. Средство связи может также предоставить запрос вида серверу изображений через кэш, и кэш может быть выполнен с возможностью автоматического кэширования вида, который предоставлен как результат запроса вида. Следовательно, контроллеру кэша может не требоваться напрямую принимать данный вид или, в общем, напрямую присоединяться к серверу изображений.
Анализом изображения для получения данных содержимого может быть любой подходящий анализ изображения, который известен из области техники анализа изображения. Например, анализ изображения может содержать алгоритм сегментации для сегментирования, и таким образом, получения объекта внутри данных изображения или внутри текущего вида. Алгоритм сегментации может быть любым известным алгоритмом сегментации, например, на основе обнаружения края, разрастания областей, кластеризации, преобразования водораздела, сегментации на основе модели и т.д. Также, для определения ориентации объекта, может быть использован любой известный метод. Например, преобразование Хафа может быть использовано для идентификации линии или эллипса внутри текущего вида, который связан с краем объекта. Ориентация объекта может быть получена из ориентации линии или, например, ориентации большой полуоси эллипса. Анализ изображения может также быть алгоритмом семантического анализа изображения, например, использующим подход на основе обучения из области техники распознавания образов, для получения семантических данных изображения текущего вида или данных изображения. Вследствие этого, анализ изображения может приписывать значение или интерпретацию сегментированному или обнаруженному объекту.
Контроллер кэша может быть размещен либо в клиенте изображений, либо в сервере изображений. Если он размещен в клиенте изображений, контроллер кэша тогда запрашивает виды с сервера изображений, и сервер изображений предоставляет, в ответ на это, связанные виды. Поэтому такой механизм является формой так называемой "Pull-технологии", как известно из области техники сетевой связи. Если он размещен в сервере изображений, контроллер кэша внутренне запрашивает виды изнутри сервера изображений, и сервер изображений предоставляет, в ответ на это, связанные виды кэшу клиента изображений, без запроса видов самим клиентом изображений. Поэтому такой механизм является формой так называемой "Push-технологии", как известно из области техники сетевой связи. Это может быть, в частности, полезно для обеспечения возможности контроллеру 620 кэша иметь доступ ко всем данным изображения. Также, сервер 640 изображений обычно имеет больше доступных вычислительных ресурсов. Это может обеспечить возможность контроллеру 620 кэша, например, выполнять более тщательный анализ изображения. Конечно, контроллер кэша может также быть использован как отдельный компонент, который не является ни частью клиента изображений, ни частью сервера изображений.
Кэш может быть размещен либо в клиенте изображений, либо сервере изображений. Клиент изображений, содержащий кэш, является полезным для уменьшения задержки, связанной с транспортировкой видов между клиентом изображений и сервером изображений. Такая задержка может быть вызвана, например, информационным соединением, имеющим низкую пропускную способность, или в сущности высокую задержку, связанную с другими аспектами информационного соединения. Таким образом, предсказанные виды могут быть переданы с сервера изображений клиенту изображений настолько скоро, насколько возможно, например, в фоновом режиме, так что пользователь не замечает этого. Сервер изображений, содержащий кэш, является полезным для уменьшения задержки, связанной с генерированием вида. Может быть сложным в вычислительном отношении сгенерировать вид из данных изображения. Отсюда, контроллер кэша может быть использован для генерирования уже предсказанных изображений, когда сервер изображений является относительно бездействующим, и затем кэширования сгенерированных видов в кэше. Поэтому, когда клиент изображений запрашивает вид, виды не требуется генерировать. Конечно, кэш может также быть использован как отдельный компонент, который не является ни частью клиента изображений, ни частью сервера изображений. Например, кэш может образовывать часть информационного соединения между клиентом изображений и сервером изображений.
Клиент изображений конфигурирован для обеспечения возможности пользователю осуществлять навигацию по данным изображения. Для этой цели, клиент изображений может дополнительно содержать (не показано) процессор, средство хранения или порт связи. Процессор может быть скомпонован для исполнения инструкций, которые являются частью приложения клиента изображений. Приложение клиента изображений может быть приложением на web-основе. Приложение на web-основе может также реализовать контроллер кэша. Средство хранения может содержать RAM, ROM, жесткий диск, съемные среды, такие как CD и DVD. Средство хранения может быть использовано для хранения компьютерных инструкций. Средство хранения может быть использовано в качестве кэша, например, для кэширования видов. Порт связи может быть использован для связи с другими компьютерными системами, например, сервером изображений. Порт связи может быть использован для создания информационного соединения с сервером изображений через локальную сеть, глобальную сеть или Интернет.
Хотя не показано, клиент изображений может содержать средство отображения для отображения видов данных изображения. Средство отображения может быть любым подходящим средством, таким как, например, компьютерный монитор. В качестве альтернативы, клиент изображений может содержать выход дисплея для предоставления видов на средство отображения, которое не является частью клиента изображений. Выход дисплея может быть выходом компьютерного монитора. Клиент изображений может быть конфигурирован, в дополнение к отображению текущего вида на дисплее, также для отображения вида, связанного с запросом вида на дисплее. Для этой цели контроллер кэша или кэш может информировать клиента изображений, что данный вид кэширован в кэше. Данный вид может быть отображен рядом с текущим видом, например, как пиктограмма. Отсюда, пользователь информируется о видах, которые были предсказаны контроллером кэша, и которые могут быть релевантными пользователю.
В общем, контроллер кэша может быть использован в распределенном приложении. Распределенные приложения играют важную роль во многих областях, в том числе здравоохранение. Здесь, клиент изображений может быть основанным на изображениях web-приложением, которое получает визуализированный двумерный вид трехмерного объема с сервера изображений для уменьшения величины передаваемой информации изображения до минимума. Причиной этого является то, что необходимо только передать то, что является действительно видимым пользователю. Однако взаимодействие с трехмерными медицинскими изображениями испытывает основной недостаток, так как много итераций требуют вновь визуализированного вида с сервера изображений и увеличивают задержку, особенно при использовании соединения с низкой пропускной способностью для связи с сервером изображений. Отсюда, контроллер кэша может быть использован для уменьшения задержки в таком распределенном приложении.
На Фиг. 7 показан способ кэширования 700 для использования в системе, содержащей клиент изображений и сервер изображений, причем клиент изображений обеспечивает возможность пользователю осуществлять навигацию по данным изображения, имеющим по меньшей мере три пространственных измерения, посредством отображения видов данных изображения, которые получены от сервера изображения в зависимости от навигационных запросов пользователя, причем способ содержит получение 710 данных содержимого, указывающих содержимое, показанное на текущем виде клиента изображений, причем текущий вид представляет первую точку просмотра в трех пространственных измерениях данных изображений, предсказание 720 запроса вида клиента изображений в зависимости от данных содержимого, причем запрос вида соответствует виду, представляющему вторую точку просмотра в трех пространственных измерениях данных изображения, получение 730 вида с сервера изображений в зависимости от запроса вида и кэширование 740 вида в кэше.
Понятно, что данное изобретение также применяется к конкретным программам, в частности, компьютерным программам на или в носителе, адаптированным для осуществления данного изобретения на практике. Программа может быть в форме исходного кода, объектного кода, кода, промежуточного между исходным и объектным кодом, как, например, в частично скомпилированной форме, или в любой другой форме, подходящей для использования в реализации способа согласно данному изобретению. Также следует осознавать, что такая программа может иметь много разных проектов на уровне архитектуры. Например, программный код, реализующий функциональность способа или системы согласно данному изобретению, может быть подразделен на одну или более стандартные подпрограммы. Специалистам в данной области техники будут очевидны многие разные пути распределения функциональности среди этих стандартных подпрограмм. Стандартные подпрограммы могут храниться вместе в одном исполняемом файле для образования самодостаточной программы. Такой исполняемый файл может содержать исполняемые компьютером инструкции, например, инструкции процессора и/или инструкции интерпретатора (например, инструкции Ява-интерпретатора). В качестве альтернативы, одна или более или все стандартные подпрограммы могут храниться в по меньшей мере одном файле внешней библиотеки и сопрягаемой с главной программой либо статически, либо динамически, например, во время запуска. Главная программа содержит по меньшей мере один вызов по меньшей мере одной из стандартных подпрограмм. Стандартные подпрограммы могут также содержать вызовы функций друг к другу. Вариант осуществления, относящийся к компьютерному программному продукту, содержит исполняемые компьютером инструкции, соответствующие каждому этапу обработки по меньшей мере одного из способов, изложенных в настоящем документе. Эти инструкции могут подразделяться на стандартные подпрограммы и/или храниться в одном или более файлах, которые могут сопрягаться статически или динамически. Другой вариант осуществления, относящийся к компьютерному программному продукту, содержит исполняемые компьютером инструкции, соответствующие каждому средству по меньшей мере одной из систем и/или продуктов, изложенных в настоящем документе. Эти инструкции могут подразделяться на стандартные подпрограммы и/или храниться в одном или более файлах, которые могут сопрягаться статически или динамически.
Носитель компьютерной программы может быть любым объектом или устройством, способным нести программу. Например, носитель может включать в себя среду хранения, такую как ROM, например, CD-ROM или полупроводниковую ROM, или магнитную записывающую среду, например, жесткий диск. К тому же, носитель может быть передаваемым носителем, таким как электрический или оптический сигнал, который может быть передан по электрическому или оптическому кабелю, или посредством радио или другого средства. Когда программа реализована в таком сигнале, носитель может быть образован посредством такого кабеля или другого устройства или средства. В качестве альтернативы, носитель может быть интегральной схемой, в которую встроена программа, интегральной схемой, являющейся адаптированной для выполнения, или использования при эффективности, релевантного способа.
Следует отметить, что вышеупомянутые варианты осуществления скорее иллюстрируют, чем ограничивают данное изобретение, и что специалисты в данной области техники будут способны спроектировать много альтернативных вариантов осуществления без отступления от объема прилагаемой формулы изобретения. В формуле изобретения, любые ссылочные позиции, помещенные в скобках, не следует толковать в качестве ограничения формулы изобретения. Использование глагола "содержать" и его спряжения не исключают присутствия элементов или этапов отличных от тех, которые обозначены в формуле изобретения. Указание элемента в единственном числе не исключает присутствия множества таких элементов. Изобретение может быть реализовано посредством аппаратного обеспечения, содержащего несколько отдельных элементов, и посредством соответствующим образом запрограммированного компьютера. В устройстве по пункту формулы изобретения, перечисляющему несколько средств, некоторые их этих средств могут быть осуществлены одним и тем же элементом аппаратного обеспечения. Сам факт, что определенные меры перечислены в обоюдно разных зависимых пунктах формулы изобретения, не указывает на то, что сочетания этих мер нельзя использовать с пользой.